*****************************************************************
*****************************************************************
*****                                                       *****
*****        Mona Morgan-Collins (Durham University)        *****
*****       Contact: mona.morgan-collins@durham.ac.uk       *****
*****                                                       *****
*****  The Electoral Impact of Newly Enfranchised Groups:   *****
*****  The Case of Women’s Suffrage in the United States.   *****
*****                                                       *****
*****                 Journal of Politics                   *****
*****                                                       *****
*****        Replication file for analyses in the paper     *****
*****                                                       *****
*****************************************************************
*****************************************************************

 
*****************************************************
*Figure 1: From De Jure to De Facto Enfranchisement
*****************************************************

*nothing to replicate
 
 
*****************************************************
*Figure 2: Probing Parallel Trends with Placebo Tests
*****************************************************
use dta\MMC_1918, clear          //using 1918 data set

*Sub-graph a: Turnout
reg dturn1816  c.awomen20x##c.progsc65x i.pty65 i.wrd18 i.nrd18 urb20 ablack20 i.proh18_01 margin16 i.state, cluster(cd18_u), if nawsa_60==1 
quietly margins, dydx(awomen20x) at(progsc65x=(-41(1)27)) vsquish noestimcheck 

#delimit;
 marginsplot, addplot (hist progsc65x if nawsa_60==1, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-3(1)3, labsize(vlarge) axis(1)) xlabel(-50(10)30, labsize(vlarge)))
 title("", size(huge)) xtitle ("Progressive Score in 65th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge) lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none))recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term -0.006; p=0.676", color(black) size(vlarge)) yscale(alt) scheme(s1mono);
#delimit cr

*Sub-graph b: Vote choice
reg dinc1816  c.awomen20x##c.progsc65x i.pty65 i.wrd18 i.nrd18 urb20 ablack20 i.proh18_01 margin16 i.state, cluster(cd18_u), if nawsa_60==1 
quietly margins, dydx(awomen20x) at(progsc65x=(-41(1)27)) vsquish noestimcheck

#delimit;
 marginsplot, addplot (hist progsc65x if nawsa_60==1, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-3(1)3, labsize(vlarge) axis(1)) xlabel(-50(10)30, labsize(vlarge)))
 title("", size(huge)) xtitle ("Progressive Score in 65th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge) lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none))recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term -0.003; p=0.773", color(black) size(vlarge)) yscale(alt) scheme(s1mono);
#delimit cr 


*****************************************************
*Figure 3: Testing Men’s Response in Illinois
*****************************************************
use dta\MMC_illinois, clear       //using MMC_illinois data set

*Sub-figure a: Turnout
#delimit ;
 twoway (scatter  dturnm1612 awomen20  , mcolor(black) m(oh)) (lfit  dturnm1612 awomen20, lwidth(thick) lcolor(black)), 
 ytitle("Change in Male Turnout" "1916-1912 (pp)", size(vlarge)) ylabel(-20(10)30, labsize(vlarge)) 
 xtitle(Adult Women 1920 (%), size(vlarge)) xlabel(40(5)55, labsize(vlarge)) legend(off) scheme(s1color) yline(0, lcolor(black));
#delimit cr

*Sub-figure b: Vote Choice
#delimit ;
 twoway (scatter  ddemm1612 awomen20 , mcolor(black) m(oh)) (lfit  ddemm1612 awomen20 , lwidth(thick) lcolor(black)), 
 ytitle("Change in Male Incumbent" "Vote (D) 1916-1912 (pp)", size(vlarge)) ylabel(-20(10)30, labsize(vlarge)) 
 xtitle(Adult Women 1920 (%), size(vlarge)) xlabel(40(5)55, labsize(vlarge)) legend(off) scheme(s1color) yline(0, lcolor(black));
#delimit cr


*****************************************************
*Figure 4: Testing Women’s Behaviour in Illinois
*****************************************************
use dta\MMC_illinois, clear       //using MMC_illinois data set

*Sub-figure a: Turnout
#delimit ;
 twoway (scatter  turngap16 awomen20  , mcolor(black) m(oh)) (lfit  turngap16 awomen20, lwidth(thick) lcolor(black)), 
 ytitle(Gender Turnout Gap 1916 (pp), size(vlarge)) ylabel(-60(20)20, labsize(vlarge)) 
 xtitle(Adult Women 1920 (%), size(vlarge)) xlabel(40(5)55, labsize(vlarge)) legend(off) scheme(s1color) yline(0, lcolor(black));
#delimit cr

*Sub-figure b: Vote Choice
#delimit ;
 twoway (scatter  demgap16 awomen20 , mcolor(black) m(oh)) (lfit  demgap16 awomen20 , lwidth(thick) lcolor(black)), 
 ytitle(Gender Incumbent Gap (D) 1916 (pp), size(vlarge)) ylabel(-60(20)20, labsize(vlarge)) 
 xtitle(Adult Women 1920 (%), size(vlarge)) xlabel(40(5)55, labsize(vlarge)) legend(off) scheme(s1color) yline(0, lcolor(black));
#delimit cr


*****************************************************
*Figure 5: Kernel Density of Adult Women in 1920
*****************************************************
use dta\MMC_1920, clear           //using 1920 data set

#delimit ; 
 twoway kdensity awomen20 , lcolor(black) lwidth(medthick) ,      
 ytitle(Density, size(vlarge)) ylabel(0(0.1)0.3, labsize(vlarge)) 
 xtitle(Adult Women 1920 (%), size(vlarge)) xlabel(35(5)60, labsize(vlarge)) 
 title("", nobox) note("", nobox) legend(off) scheme(s1color) ; 
#delimit cr


*****************************************************
*Figure 6: Kernel Densities of Progressive Score in 65th- 67th Congress, by Party
*****************************************************

*Sub-figre a: generating figure for 65th Congress
use dta\MMC_1918, clear          //using 1918 data set

preserve //temporarily preserve to enable collapsing data at the district level
collapse (mean) progsc65 pty65 , by (cd18_u) //collapsing data at the district level
#delimit ; 
 twoway kdensity progsc65 if  pty65==200, lcolor(black) lwidth(thick)   || 
 kdensity progsc65 if  pty65==100 , lcolor(black) lwidth(thick) lpattern(dash) ,  
 ytitle("Density", size(vlarge))  ylabel(0(0.02)0.04, labsize(vlarge)) 
 xtitle("Progressive score", size(vlarge)) xlabel(0(20)100, labsize(vlarge)) 
 title("65th Congress", nobox size(huge)) note("", nobox) legend(off) scheme(s1color) ysize(5.5) ;  
#delimit cr
restore //restoring to pre-collapsed (original) data set

*Sub-figure b: generating figure for 66th Congress
use dta\MMC_1920, clear           //using 1920 data set

preserve //temporarily preserve to enable collapsing data at the district level
collapse (mean) progsc66 pty66 , by (cd20_u) //collapsing data at the district level
#delimit ; 
 twoway kdensity progsc66 if  pty66==200, lcolor(black) lwidth(thick)   || 
 kdensity progsc66 if  pty66==100 , lcolor(black) lwidth(thick) lpattern(dash) ,  
 ytitle("Density", size(vlarge))  ylabel(0(0.02)0.04, labsize(vlarge)) 
 xtitle("Progressive score", size(vlarge)) xlabel(0(20)100, labsize(vlarge)) 
 title("66th Congress", nobox size(huge)) note("", nobox) legend(off) scheme(s1color) ysize(5.5) ;  
#delimit cr
restore //restoring to pre-collapsed (original) data set

*Sub-figure c: generating figure for 67th Congress
use dta\MMC_1922, clear            //using 1922 data set

preserve //temporarily preserve to enable collapsing data at the district level
collapse (mean) progsc67 pty67 , by (cd22_u) //collapsing data at the district level
#delimit ; 
 twoway kdensity progsc67 if  pty67==200, lcolor(black) lwidth(thick)   || 
 kdensity progsc67 if  pty67==100 , lcolor(black) lwidth(thick) lpattern(dash) ,  
 ytitle("Density", size(vlarge))  ylabel(0(0.02)0.04, labsize(vlarge)) 
 xtitle("Progressive score", size(vlarge)) xlabel(0(20)100, labsize(vlarge)) 
 title("67th Congress", nobox size(huge)) note("", nobox) legend(off) scheme(s1color) ysize(5.5) ;  
#delimit cr
restore //restoring to pre-collapsed (original) data set


*****************************************************
*Table 1: Comparing States by Suffrage Movement Strength
*****************************************************
use dta\MMC_1920, clear           //using 1920 data set

sum membpc, det , if nawsa_60==0 
sum membpc, det , if nawsa_60==1 
sum progsc66 , det , if nawsa_60==0 
sum progsc66 , det , if nawsa_60==1 
tab pty66 if nawsa_60==0 
tab pty66 if nawsa_60==1
tab region2 if nawsa_60==0 
tab region2 if nawsa_60==1


*****************************************************
*Figure 7: Change in (pp) Incumbent Support by Terciles of Progressive Score
*****************************************************

*Sub-figure a: generating figure for 65th Congress (1918-1916)
use dta\MMC_1918, clear            //using 1918 data set

#delimit ; 
 cibar dinc1816, over1(progsc65_3) ciopts(lcolor(black)) barcol(gs15 gray gs4)  
 graphopts(ylabel(-8(4)8 , labsize(vlarge) nogrid)  yline(0, lcolor(black)) legend(off) scheme(s1mono) ysize(5.5)
 title("65th Congress", size(huge)) ytitle("Mean Change in Inc. Vote 1918-1916", size(vlarge)) xtitle("Terciles of Progressive Score", size(vlarge)) ); 
#delimit cr

*Sub-figure b: generating figure for 66th Congress (1920-1918)
use dta\MMC_1920, clear           //using 1920 data set

#delimit ; 
 cibar dinc2018, over1(progsc66_3) ciopts(lcolor(black)) barcol(gs15 gray gs4)  
 graphopts(ylabel(-8(4)8 , labsize(vlarge) nogrid)  yline(0, lcolor(black)) legend(off) scheme(s1mono) ysize(5.5)
 title("66th Congress", size(huge)) ytitle("Mean Change in Inc. Vote 1920-1918", size(vlarge)) xtitle("Terciles of Progressive Score", size(vlarge)) ); 
#delimit cr

*Sub-figure c: generating figure for 67th Congress (1922-1920)
use dta\MMC_1922, clear            //using 1922 data set

#delimit ; 
 cibar dinc2220, over1(progsc67_3) ciopts(lcolor(black)) barcol(gs15 gray gs4)  
 graphopts(ylabel(-8(4)8 , labsize(vlarge) nogrid)  yline(0, lcolor(black)) legend(off) scheme(s1mono) ysize(5.5)
 title("67th Congress", size(huge)) ytitle("Mean Change in Inc. Vote 1922-1920", size(vlarge)) xtitle("Terciles of Progressive Score", size(vlarge)) ); 
#delimit cr


*****************************************************
*Figure 8: 1920 election: Marginal Effects of Adult Women, by Movement Strength
*****************************************************
use dta\MMC_1920, clear           //using 1920 data set

*States with weak suffrage movement
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==0 
quietly margins, dydx(awomen20x) at(progsc66x=(-31(1)24)) vsquish noestimcheck

#delimit;
 marginsplot, addplot (hist progsc66x if nawsa_60==0 & progsc66>10, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2))  // [progsc66>10 drops one conservative incumbent with very low progressive score from the graph [at -60], but not from the model]
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-2(1)2, labsize(vlarge) axis(1)) xlabel(-40(10)30, labsize(vlarge)))
 title("Weak Movement (N=569)", size(huge)) xtitle ("Progressive Score in 66th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge) lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none))recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term is -0.011; p=0.525", color(black) size(large)) yscale(alt) scheme(s1mono) saving(66w, replace);
#delimit cr

*States with strong suffrage movement
reg dinc2018  c.awomen20x##c.progsc66x i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1 
quietly margins, dydx(awomen20x) at(progsc66x=(-35(1)24)) vsquish noestimcheck

#delimit ;
 marginsplot, addplot (hist progsc66x if nawsa_60==1, percent color(none) lcolor(gray) width(1) yaxis(2) yscale(alt) yscale(alt axis(2)) 
 ytitle("Marginal Effects of Adult Women", size(vlarge) axis(1)) ytitle("Observations (%)", size(vlarge) axis(2))
 ylabel(0(5)30, labsize(vlarge) axis(2)) ylabel(-2(1)2, labsize(vlarge) axis(1))xlabel(-40(10)30, labsize(vlarge)))
 title("Strong Movement (N=340)", size(huge)) xtitle ("Progressive Score in 66th Congress", size(vlarge)) ytitle ("", size(vhuge))
 plotopts(msymbol(o) msize(huge)  lwidth(thick) lpattern(solid) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) recast(line) recastci(rconnected)  
 yline(0, lcolor(black)) legend(off) note("Coeff. on product term is 0.015; p=0.012", color(black) size(large)) yscale(alt) scheme(s1mono) saving(66s, replace);
#delimit cr

*Combining graphs
gr combine  66w.gph 66s.gph, col(2) ycommon ysize(3) scheme(s1mono) imargin(medium)


*****************************************************
*Figure 9: Salient Bills in the 66th Congress: Marginal Effects of Adult Women; States with Strong Suffrage Movement
*****************************************************
use dta\MMC_1920, clear           //using 1920 data set
 
*Women's bureau
reg dinc2018  c.awomen20##i.V201_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1  
quietly margins, dydx(awomen20) at(V201_66=(0 1)) vsquish noestimcheck

#delimit ;
 marginsplot, ylabel(-2(1)2, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) title("Women's Bureau", size(huge)) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term 0.605; p=0.009", color(black) size(large))
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(wb, replace) ;
#delimit cr 
 
*Veteran's Pensions
reg dinc2018  c.awomen20##i.V141_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1  
quietly margins, dydx(awomen20) at(V141_66=(0 1)) vsquish noestimcheck

#delimit ;
 marginsplot, ylabel(-2(1)2, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) title("Veteran's Pensions", size(huge)) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term 0.46; p=0.021", color(black) size(large))
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(pens, replace) ;
#delimit cr 

*Suffrage
reg dinc2018  c.awomen20##i.V2_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1  
quietly margins, dydx(awomen20) at(V2_66=(0 1)) vsquish noestimcheck

#delimit ;
 marginsplot, ylabel(-2(1)2, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) title("Women's Suffrage", size(huge)) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term 0.009; p=0.989", color(black) size(large))
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(suff, replace) ;
#delimit cr 
 
*Prohibition
reg dinc2018  c.awomen20##i.V43_66  i.pty66 i.wrd20 i.nrd20 urb20 ablack20 i.proh18_01 margin18 i.state, cluster(cd20_u), if nawsa_60==1  
quietly margins, dydx(awomen20) at(V43_66=(0 1)) vsquish noestimcheck

#delimit ;
 marginsplot, ylabel(-2(1)2, labsize(vlarge)) xlabel(0 1, labsize(vlarge)) xscale(range(-0.3 1.3) noextend) title("Prohibition", size(huge)) ytitle("Marginal Effects of Adult Women", size(vlarge)) xtitle ("Vote on the Bill", size(vlarge)) 
 yline(0, lcolor(black)) legend (off) note("Coeff. on product term 0.096; p=0.701", color(black) size(large))
 plotopts(msymbol(o) msize(large)  lwidth(thick) lpattern(blank) color(black)) ciopts(lpattern(dash) color(black) lwidth(medthick) msymbol (none)) scheme(s1mono) saving(proh, replace) ;
#delimit cr 


*combining graphs
gr combine  wb.gph pens.gph proh.gph suff.gph, col(4) ycommon ysize(1.8) scheme(s1mono) imargin(medium) 

























